Hutool 数字工具 您所在的位置:网站首页 常用的js保留两位小数的方法精确保留 Hutool 数字工具

Hutool 数字工具

2023-11-10 07:52| 来源: 网络整理| 查看: 265

数字工具针对数学运算做工具性封装。

1 加减乘除

四种运算都会将double转为BigDecimal后计算,解决float和double类型无法进行精确计算的问题。这些方法常用于商业计算。

//针对数字类型做加法 NumberUtil.add(1,2);//3 // 针对数字类型做减法 NumberUtil.sub(1,1);//0 //针对数字类型做乘法 NumberUtil.mul(1,3);//3 //针对数字类型做除法,并提供重载方法用于规定除不尽的情况下保留小数位数和舍弃方式。 NumberUtil.div(1,3);//0.3333333333 2 保留小数

保留小数的方法主要有两种:

(1)NumberUtil.round 方法主要封装BigDecimal中的方法来保留小数,返回BigDecimal,这个方法更加灵活,可以选择四舍五入或者全部舍弃等模式。

double te1 = 123456.123456; double te2 = 123456.128456; NumberUtil.round(te1, 4);//结果:123456.1235 NumberUtil.round(te2, 4);//结果:123456.1285

(2) NumberUtil.roundStr 方法主要封装String.format方法,舍弃方式采用四舍五入。

double te1 = 123456.123456; double te2 = 123456.128456; NumberUtil.roundStr(te1, 4);//结果:123456.1235 NumberUtil.roundStr(te2, 4);//结果:123456.1285 3 格式化数字

针对 DecimalFormat.format进行简单封装。按照固定格式对double或long类型的数字做格式化操作。

long c=299792458;//光速 String format = NumberUtil.decimalFormat(",###", c);//299,792,458

格式中主要以 # 和 0 两种占位符号来指定数字长度。0 表示如果位数不足则以 0 填充,# 表示只要有可能就把数字拉上这个位置。

(1)0 -> 取一位整数

(2)0.00 -> 取一位整数和两位小数

(3)00.000 -> 取两位整数和三位小数

(4)# -> 取所有整数部分

(5)#.##% -> 以百分比方式计数,并取两位小数

(6)#.#####E0 -> 显示为科学计数法,并取五位小数

(7),### -> 每三位以逗号进行分隔,例如:299,792,458

(8)光速大小为每秒,###米 -> 将格式嵌入文本

4 是否为数字 // 是否为数字 NumberUtil.isNumber("1");//true //是否为整数 NumberUtil.isInteger("1.0");//false //是否为浮点数 NumberUtil.isDouble("1.0");//true //是否为质数 NumberUtil.isPrimes(3);//true; 5 随机数 //生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组,返回int[] NumberUtil.generateRandomNumber(0, 100, 10); //生成不重复随机数 根据给定的最小数字和最大数字,以及随机数的个数,产生指定的不重复的数组,返回Integer[] NumberUtil.generateBySet(0, 100, 10); 6 整数列表 //方法根据范围和步进,生成一个有序整数列表 int[] rangeList = NumberUtil.range(1, 100, 2);//1,3,5,...99 //将给定范围内的整数添加到已有集合中 List rangeList2 = NumberUtil.appendRange(100, 200, 2 , new ArrayList(Arrays.asList(new Integer[]{1}))) .stream().collect(Collectors.toList()); 7 阶乘 //阶乘 NumberUtil.factorial(3, 1);//6 8 平方根 //平方根 NumberUtil.sqrt(16);//4 9 最大公约数和最小公倍数 //最大公约数 NumberUtil.divisor(15, 21);//3 //最小公倍数 NumberUtil.multiple(15, 21);//105 10 进制转换 //获得数字对应的二进制字符串 NumberUtil.getBinaryStr(8);//1000 //二进制转int NumberUtil.binaryToInt("111");//7 //二进制转long NumberUtil.binaryToLong("111");//7 11 比较大小 //比较两个值的大小 NumberUtil.compare(1, 3);//-1 12 去除多余的0 //数字转字符串,自动并去除尾小数点儿后多余的0 NumberUtil.toStr(1.00000);//1

旭东怪的个人空间_哔哩哔哩_Bilibili旭东怪,人生低谷不可怕,可怕的是坚持不到人生转折点的那一天;旭东怪的主页、动态、视频、专栏、频道、收藏、订阅等。哔哩哔哩Bilibili,你感兴趣的视频都在B站。https://space.bilibili.com/484264966?spm_id_from=333.1007.0.0



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有